iT邦幫忙

2023 iThome 鐵人賽

DAY 23
0
自我挑戰組

Rails 手工打造自己的部落格 系列 第 23

Rails 手工打造自己的部落格 23 - 資料關聯性

  • 分享至 

  • xImage
  •  

今天我們就可以來玩一下資料的關聯性
也就是擁有與被擁有的關係,
在這個地方的例子就是,
一個使用者可以擁有很多篇文章,
對於資料庫來說,也就是「一對多」的關聯,

has_many

has_many 關聯
has_many 關聯建立兩個 Model 之間的一對多關係。
在我們的例子裡就是 user 跟 article
那我們就要在 user 的 model 裡面寫上他們的關係

  • 在宣告 has_many 關聯的時候名稱要給它複數
class User < ActiveRecord::Base
  has_many :articles
end

那在 article 這裡也需要宣告關聯
而 has_many 的另一邊對應的就是 belongs_to

belogs_to

我們需要幫他開一個 belogs_to 的欄位,
讓他去紀錄 user id,
這時候要加一個 migration

rails g migration AddBelongsToInArticle

然後在 migration 裡面要給它一個參照
add_reference = add_belongs_to

class AddBelongsToInArticle < ActiveRecord::Migration[7.0]
  def change
    add_reference :articles, :user, foreign_key: true
  end
end

上一篇
Rails 手工打造自己的部落格 22 會員登入(下)
下一篇
Rails 手工打造自己的部落格 24 - 會員權限
系列文
Rails 手工打造自己的部落格 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言